package routers

import (
	"github.com/gin-gonic/gin"
	swaggerFiles "github.com/swaggo/files"
	gs "github.com/swaggo/gin-swagger"
	"net/http"
	"zswei.xyz/manager/global"
)

type RouterGroup struct {
	*gin.RouterGroup
}

func InitRouter() *gin.Engine {
	gin.SetMode(global.Config.System.Env) // 清除开发环境警告
	router := gin.Default()               // 初始化路由模块
	router.StaticFS("uploads", http.Dir("uploads"))
	router.GET("/swagger/*any", gs.WrapHandler(swaggerFiles.Handler))

	apiRouterGroup := router.Group("v2")          // api分组
	routerGroupApp := RouterGroup{apiRouterGroup} // 使用结构化

	routerGroupApp.SettingsRouter() // 系统配置类api
	routerGroupApp.ImagesRouter()   // 图片管理类api
	routerGroupApp.AdvertRouter()   // 广告管理类api
	routerGroupApp.MenuRouter()     // 菜单管理类api

	return router // gin.Engine的指针
}
